This is G o o g l e's cache of http://www.rockbox.org/twiki/bin/view/Main/UsingCVS as retrieved on 8 Sep 2005 02:53:18 GMT.
G o o g l e's cache is the snapshot that we took of the page as we crawled the web.
The page may have changed since that time. Click here for the current page without highlighting.
This cached page may reference images which are no longer available. Click here for the cached text only.
To link to or bookmark this page, use the following url: http://www.google.com/search?q=cache:XTOf7fAy_YEJ:www.rockbox.org/twiki/bin/view/Main/UsingCVS+site:rockbox.org+usingcvs&hl=en&client=firefox


Google is neither affiliated with the authors of this page nor responsible for its content.
These search terms have been highlighted: usingcvs 

Rockbox . Main . UsingCVS

 Rockbox Logo 

home
download
documentation
mailing lists
wiki
IRC
forums
daily builds
feature requests
bug reports
patches


SourceForge.net Logo

Rockbox > Main > DocsIndex > UsingCVS
Main . { Users | Changes | Index | Search | Register | Go }

Accessing source code via CVS

Browsing the repository

Just go here

Daily snapshots

Every night at 6am CET, we build a source tarball and target .mod files from the latest CVS code. Get them here.

Downloading (checking out) the source

You, obviously, need to have CVS installed to do this.

Here is a complete list of the available modules:

  • apps - the source code to the applications
  • firmware - the source code to the firmware library
  • gdb - the gdb stub to use for remote debugging
  • tools - tools for building the firmware
  • fonts - fonts!
  • uisimulator - a user interface simulator for X11
  • docs - project documentation
  • www - the web page

We have a few other convenient aliases that gets several modules at once for you:

  • rockbox - gets everything you need to compile and build rockbox for target
  • rockbox-devel - like 'rockbox' but also includes simulators and gdb code
  • rockbox-all - gets everything there is in CVS, all modules
  • website - gets the www and docs modules

The examples below use the 'rockbox' module, since that is what most people are interested in.

Anonymous read-only checkout

If you are not a registered developer, use this method. When asked for a password, just press enter:

   cvs -d:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox login
   cvs -z3 -d:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox co rockbox

A "rockbox" directory will be created in your current directory, and all the directories and source files go there.

Note: if you do not have port 2401 (TCP) allowed on your router / firewall you may get an error similar to the following...

   cvs [login aborted]: connect to www.rockbox.org(193.15.23.131):2401 failed: Connection timed out

Checkout with write access (for developers)

For this, you need to be added to the writers list by Rockbox administrators. After that, you can login with your username:

   cvs -d:pserver:username@www.rockbox.org:/cvsroot/rockbox login
   cvs -z3 -d:pserver:username@www.rockbox.org:/cvsroot/rockbox co rockbox

Checking in modifications

CVS is a "no-reserve" version control system. This means that you work on your local files without first reserving them. Any conflicts with other developers are detected when you check-in, or "commit" as it's called in CVS:

   cvs commit <filename>

This will start an editor and ask you to describe the changes you've made. If you want, you can use the -m command line option to specify the comment right there:

   cvs commit -m "This is my change comment" <filename>

Note: Before checking in modifications, test-build all targets (player, player-old, recorder, player-sim, recorder-sim) to make sure your changes don't break anything.

Updating your repository

Since several people commit to the repository, you will need to periodically synchronize your local files with the changes made by others. This operation is called "update":

   cvs update -dP

Invoke this command within the checked out directory hierarchy, as otherwise you need to use the full -d thing to the command too.

The -d switch tells update to create any new directories that have been created the repository since last update. The -P switch tells update to delete files that have been removed in the repository.

Adding a new file

Adding a file is very simple:

   cvs add <filename>

If you are adding a binary file, you need to specify the -kb flag:

   cvs add -kb <filename>

These changes, like any other change, has to be committed before they will be visible on the server.

Querying the status of your files

Sometimes it is interesting to get a list of the status of your files versus those on the remote repository. This is called "status":

   cvs status

The output from "status" can be rather verbose. You may want to filter it with grep:

   cvs status | grep Status

To only list files who differ from the server, filter again:

   cvs status | grep Status | grep -v Up-to-date

Producing a diff of your changes

If you want to see how your local files differ from the CVS repository, you can ask CVS to show you:

   cvs diff -u [files(s)]

The -u selects the "unified" diff format, which is preferrable when working with source code.

What Happens in the Repository?

Subscribe to the rockbox-cvs list to get mails sent to you for every commit done to the repostory.

subscribe to rockbox-cvs

Note that this may cause quite a few mails to get sent during periods of intense development.

{ Edit | View raw | Attach | Ref-By | Printable | Diffs | r1.11 | > | r1.10 | > | r1.9 | More }
Revision r1.11 - 18 Aug 2005 - 20:45 GMT - DanielStenberg
Parents: DocsIndex
Copyright © 1999-2005 by the contributing authors.